Skip to content

Add Outlook Published Calendar Adapter#228

Open
bartier wants to merge 10 commits intoinovex:mainfrom
bartier:add-ics-adapter
Open

Add Outlook Published Calendar Adapter#228
bartier wants to merge 10 commits intoinovex:mainfrom
bartier:add-ics-adapter

Conversation

@bartier
Copy link

@bartier bartier commented Jan 24, 2025

Add Outlook Published Calendar Adapter

Overview

As my first contribution to CalendarSync, I'm excited to propose a new adapter that enables synchronization with publicly shared Outlook calendars. This adapter provides a simpler alternative when OAuth access isn't needed or available.

I have been using for the last few weeks and I can say it is pretty much reliable.

Why This Adapter?

Many organizations use publicly shared Outlook calendars for events and schedules. This adapter fills a gap by allowing CalendarSync to integrate with these calendars without requiring complex OAuth setup or API permissions.

Features

  • Read-only synchronization with published Outlook calendars
  • Simple configuration using published calendar URL
  • No OAuth or API credentials required
  • Automatic time range handling
  • Compatible with existing sync mechanisms

Implementation Details

  • New adapter package: outlook_published
  • Implements the sync.Source interface
  • Uses standard Go HTTP client
  • Handles Outlook's published calendar format
  • Preserves event metadata

Documentation

Added comprehensive setup guide in docs/adapters.md :

  • Step-by-step configuration instructions
  • Visual guide for obtaining required values
  • Clear examples and limitations

Example Configuration

source:
  adapter:
    type: "outlook_published"
    config:
      url: "https://outlook.office365.com/.../service.svc"
      postData: "<url-post-data>"

Limitations

  • Read-only access (cannot modify calendar events)
  • Requires calendar to be publicly accessible
  • Some event details might be limited compared to OAuth-based adapter

I'm excited about this contribution and look forward to any feedback or suggestions for improvement. Happy to make adjustments as needed to align with the project's standards and goals.

@bartier
Copy link
Author

bartier commented Jan 24, 2025

I might have messed up with go.mod and go.sum files, if maintainers are interested on this PR implementation I can work to validate it.

@timonegk
Copy link
Member

Hi, thank you for your contribution. However, when you get the URL of a published calendar, you also get a link to an ICS file. This file could be imported much easier than it is done in this PR and there is already a feature request for that (#227). We would prefer to go along this route to be able to support more calendar providers.

Here you can see the links created when you publish a calendar. I assume that you also get one of these from your company to access the calendar.
Screenshot from 2025-10-10 17-16-53

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants